package com.ruoyi.jwxt.service.impl;

import java.util.List;
import java.util.stream.Collectors;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ruoyi.jwxt.domain.DTO.JwxtLabDTO;
import com.ruoyi.jwxt.domain.PO.JwxtLab;
import com.ruoyi.jwxt.mapper.JwxtLabMapper;
import com.ruoyi.jwxt.service.IJwxtLabService;

/**
 * 实验室列表Service业务层处理
 */
@Service
public class JwxtLabsServiceImpl implements IJwxtLabService {
    @Autowired
    private JwxtLabMapper jwxtLabsMapper;

    /**
     * JwxtLab转换为JwxtLabDTO
     */
    @Override
    public JwxtLabDTO convert(JwxtLab jwxtLab) {
        if (jwxtLab == null) {
            return null;
        }
        JwxtLabDTO jwxtLabDTO = new JwxtLabDTO();
        jwxtLabDTO.setId(jwxtLab.getLabId());
        jwxtLabDTO.setLabName(jwxtLab.getLabName());
        jwxtLabDTO.setLabNumber(jwxtLab.getLabNumber());
        jwxtLabDTO.setLabType(jwxtLab.getLabType());
        jwxtLabDTO.setEquipmentNumber(jwxtLab.getEquipmentNumber());
        jwxtLabDTO.setExperimenterId(jwxtLab.getExperimenterId());
        return jwxtLabDTO;
    }

    /**
     * JwxtLabDTO转换为JwxtLab
     */
    @Override
    public JwxtLab convert(JwxtLabDTO jwxtLabDTO) {
        if (jwxtLabDTO == null) {
            return null;
        }
        JwxtLab jwxtLab = new JwxtLab();
        jwxtLab.setLabId(jwxtLabDTO.getId());
        jwxtLab.setLabName(jwxtLabDTO.getLabName());
        jwxtLab.setLabNumber(jwxtLabDTO.getLabNumber());
        jwxtLab.setLabType(jwxtLabDTO.getLabType());
        jwxtLab.setEquipmentNumber(jwxtLabDTO.getEquipmentNumber());
        jwxtLab.setExperimenterId(jwxtLabDTO.getExperimenterId());
        return jwxtLab;
    }

    /**
     * 新增实验室列表
     */
    @Override
    public int insert(JwxtLab JwxtLab) {
        return jwxtLabsMapper.insert(JwxtLab);
    }

    /**
     * 批量删除实验室列表
     */
    @Override
    public int delete(Long[] ids) {
        return jwxtLabsMapper.delete(ids);
    }

    /**
     * 删除实验室列表信息
     */
    @Override
    public int delete(Long id) {
        return jwxtLabsMapper.delete(new Long[] { id });
    }

    /**
     * 查询实验室列表列表
     */
    @Override
    public List<JwxtLab> select(JwxtLab JwxtLab) {
        return jwxtLabsMapper.select(JwxtLab);
    }

    /**
     * 查询实验室列表
     */
    @Override
    public JwxtLab select(Long id) {
        JwxtLab JwxtLab = new JwxtLab();
        JwxtLab.setLabId(id);
        return select(JwxtLab).get(0);
    }

    /**
     * 获得所有实验室
     */
    @Override
    public List<JwxtLab> select() {
        return select(new JwxtLab());
    }

    /**
     * 修改实验室列表
     */
    @Override
    public int update(JwxtLab JwxtLab) {
        return jwxtLabsMapper.update(JwxtLab);
    }

}
